package com.youlai.boot.modules.country.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youlai.boot.modules.country.model.entity.Country;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.youlai.boot.modules.country.model.query.CountryQuery;
import com.youlai.boot.modules.country.model.vo.CountryVO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 国家数据Mapper接口
 *
 * @author liuwanwei
 * @since 2025-02-26 17:48
 */
@Mapper
public interface CountryMapper extends BaseMapper<Country> {

    /**
     * 获取国家数据分页数据
     *
     * @param page 分页对象
     * @param queryParams 查询参数
     * @return
     */
    Page<CountryVO> getCountryPage(Page<CountryVO> page, CountryQuery query);

    /**
     * 获取商品国家分页数据
     *
     * @param productId 商品ID
     * @param page 分页对象
     * @return
     */
    Page<CountryVO> getProductCountryPage(Long productId, Page<CountryVO> page);

    /**
     * 获取商品国家
     *
     * @param productId 商品ID
     * @param countryCode 国家代码
     * @return
     */
    CountryVO getProductCountry(Long productId, String countryCode);

    /**
     * 保存商品国家
     *
     * @param productId 商品ID
     * @param countryCode 国家代码
     */
    void saveProductCountry(Long productId, String countryCode);

    /**
     * 删除商品国家
     *
     * @param productId 商品ID
     * @param countryCode 国家代码
     */
    void deleteProductCountry(Long productId, String countryCode);
}
